home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 04 - 1988 / 04.01 Jan 88 / Downloader Source / EventMgr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1986-09-13  |  2.2 KB  |  120 lines  |  [TEXT/KAHL]

  1.  
  2. /*
  3.  *  EventMgr.h
  4.  *
  5.  *  Copyright (c) 1986 THINK Technologies, Inc.
  6.  *  These interfaces are based on information published in
  7.  *  "Inside Macintosh" by Apple Computer, Addison-Wesley,
  8.  *  Reading (Mass.), 1985.
  9.  *
  10.  */
  11.  
  12. #ifndef    _EventMgr_
  13. #define _EventMgr_
  14.     
  15. #ifndef    _MacTypes_
  16. #include "MacTypes.h"
  17. #endif
  18.  
  19. /*  event codes  */
  20. enum {
  21.     nullEvent,
  22.     mouseDown,
  23.     mouseUp,
  24.     keyDown,
  25.     keyUp,
  26.     autoKey,
  27.     updateEvt,
  28.     diskEvt,
  29.     activateEvt,
  30.     /* event 9 is no longer used */
  31.     networkEvt = 10,
  32.     driverEvt,
  33.     app1Evt,
  34.     app2Evt,
  35.     app3Evt,
  36.     app4Evt
  37. };
  38.  
  39. /*  masks for keyboard event message  */
  40. #define charCodeMask     0x000000FFL
  41. #define keyCodeMask        0x0000FF00L
  42.  
  43. /*  event masks  */
  44. #define mDownMask        0x2 
  45. #define mUpMask            0x4 
  46. #define keyDownMask     0x8
  47. #define keyUpMask         0x10 
  48. #define autoKeyMask     0x20 
  49. #define updateMask         0x40 
  50. #define diskMask         0x80 
  51. #define activMask         0x100 
  52. /* event 9 is no longer used */
  53. #define networkMask     0x400 
  54. #define driverMask         0x800 
  55. #define app1Mask         0x1000 
  56. #define app2Mask         0x2000 
  57. #define app3Mask         0x4000 
  58. #define app4Mask         0x8000 
  59. #define everyEvent         0xFFFF
  60.  
  61. /*  modifiers  */
  62. #define activeFlag        0x0001
  63. #define changeFlag        0x0002
  64. #define btnState         0x0080
  65. #define cmdKey             0x0100
  66. #define shiftKey         0x0200
  67. #define alphaLock         0x0400
  68. #define optionKey         0x0800
  69.  
  70.  
  71. /* results returned by PostEvent    */
  72. /*    #define    noErr        0        */
  73. #define EvtNotEnb        1
  74.  
  75.  
  76. typedef struct EventRecord 
  77.     {
  78.     int        what;
  79.     long    message;
  80.     long    when;
  81.     Point    where;
  82.     int        modifiers;
  83.     }EventRecord;
  84.  
  85. typedef struct KeyMap
  86.     {
  87.     long    Key[4];
  88.     }KeyMap;
  89.     
  90. typedef    struct    EvQEl
  91.     {
  92.     struct QElem    *qLink;
  93.     int                qType;
  94.     int                evtQWhat;
  95.     long            evtQMessage;
  96.     long            evtQWhen;
  97.     Point            evtQWhere;
  98.     int                evtQModifiers;
  99.     } EvQEl, *EvQElPtr ;
  100.  
  101.  
  102. /*  functions returning non-integral values  */
  103. pascal struct QHdr *GetEvQHdr();
  104.  
  105. /*  low-memory globals  */
  106. extern int SysEvtMask : 0x144;
  107. extern struct QHdr EventQueue : 0x14A;
  108. extern char SEvtEnb : 0x15C;
  109. extern long Ticks : 0x16A;
  110. extern int KeyThresh : 0x18E;
  111. extern int KeyRepThresh : 0x190;
  112. extern ProcPtr JGNEFilter : 0x29A;
  113. extern ProcPtr Key1Trans : 0x29E;
  114. extern ProcPtr Key2Trans : 0x2A2;
  115. extern long DoubleTime : 0x2F0;
  116. extern long CaretTime : 0x2F4;
  117. extern char ScrDmpEnb : 0x2F8;
  118.  
  119.  
  120. #endif